1. Field of the Invention
The present invention relates to communications systems and, in particular, to a communication system employing a private branch exchange (PBX) and a TAPI interface.
2. Description of the Related Art
The Telephony Application Programming Interface (TAPI) is a high level programming interface for Windows™ which supports many types of telephony applications associated with conventional analog public telephone lines, PBX phone lines, ISDN phone lines, and the like. Thus, TAPI allows a communication application to support numerous telephony operations through a variety of mediums by making a function call to TAPI which will drive the hardware (fax/modem card, DSP card, network switch, and the like) coupled thereto.
The TAPI architecture 100 is illustrated in FIG. 1. As shown, the TAPI architecture 100 includes a TAPI implementation 104 interfaced to telephony application programs 102. TAPI 104 provides a connection to a TAPI service provider, such as a TAPI server 106, which then interfaces to hardware such as voices cards 108a, H.323 interfaces 108b, or PBX's 108c. 
The TAPI specification requires that device configuration information be available at the startup of the TAPI service provider. If unsolicited addition and deletion events from a telephony device hardware, such as a PBX, are not supported (i.e., the hardware does not automatically inform the TAPI service provider of updates), the TAPI service provider can only do configuration change updates at start up. The TAPI service provider does so by requesting the static device configuration from the PBX, building the initial internal database and reporting all the devices to the TAPI. If changes are made on the PBX, the telephony server system administrator would be required to shut down the TAPI service provider and restart it again. This has the disadvantage of disrupting service to all users of the TAPI service provider. Moreover, in such a system, there is no way to shut down a TAPI service provider if it is in use. It will be shut down only if every TAPI application using it shuts down. Since several thousand clients can be supported, this can provide severe disadvantages in administration.